home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
usenet
/
sources
/
volume91
/
utilitys
/
print15a
/
part02
/
deutsch.doc.uu
/
deutsch.doc
Wrap
Text File
|
1991-03-14
|
14KB
|
295 lines
**************************************************************************
P R I N T D O K U M E N T A T I O N
V E R S I O N 1 . 5 A
**************************************************************************
1 WARUM NOCH EIN DRUCKPROGRAMM?
Tja, gute Frage! Natürlich sind derzeit eine Menge Programme
erhältlich, die dem geneigten Benutzer das Blaue vom Himmel versprechen und
dann doch eher weniger halten. Text-Druckprogramme gibt es in allen
Variationen: Als Handler, Devices oder ähnlich komplizierte Gebilde, in
größeren Programmen eingebunden und hast Du nich gesehn... und trotz der
Vielzahl der angebotenen Programme auch im PD- oder FreeWare-Sektor konnte
keins meine Ansprüche und Bedürfnisse voll befriedigen (Print kann dies
übrigens auch nicht :-)...
Also beschloß ich eines schönen Tages, mein eigenes Programm zu
schreiben. Ich hätte nicht gedacht, daß so ein Monster dabei herauskommt,
aber so ist das ja meistens. Dafür ist Print im Moment das einzige
Programm, daß einem deutschen Amiga-Besitzer gleichzeitig Umlaute und die
ganzen netten Klammern eines C Sources beschert... jedenfalls in der
unmodifizierten NEC-Version!
2 WAS KANN PRINT?
Print erlaubt es, die Form des Ausdrucks weitgehend selbst zu bestimmen.
Parameter wie Zeichen pro Zoll, Länge der Seiten und ähnliches lassen sich
frei über Parameter einstellen. Außerdem dient Print als eine Art Filter,
das Form Feeds abfängt und die Amiga-Sonderzeichen auf ihre IBM-Äquivalente
überträgt.
Für die armen Leute, die keinen NEC besitzen, gibt es die Möglichkeit,
die Steuersequenzen ihres Druckers über eine Datei einzulesen, dazu aber
später mehr!
3 WAS KANN PRINT NICHT (KNOWN BUGS & RESTRICTIONS) ?
Print kann keine Grafik! Speaka' no IFF, yu read mi? Weiterhin ist
nicht sicher, wie kultiviert sich Print im Umgang mit anderen Druckern
verhält, da ich noch keine Gelegenheit hatte, Print auf einem anderen Gerät
zu testen.
Außerdem werden momentan noch nicht alle von der Tastatur erreichbaren
Zeichen ins IBM Format übersetzt, aber wir arbeiten daran!
Sehr selten kommt es zu Abstürzen bei Speicherknappheit. Diese Fehler
waren aber komischerweise nie reproduzierbar. Behebung: Bei Aufruf von
der Workbench im Info-Menü die Stackgröße hochsetzen!
4 WIE BENUTZE ICH PRINT?
Print wird vom CLI aus durch eine Kommandozeile der Form
1> Print {Optionen} [Schalter] Datei1 ... Datei20
aufgerufen. Jeder Parameter, der nicht mit einem '-' (Minus-zeichen)
beginnt, wird als zu druckende Datei interpretiert. Optionen, Schalter und
Dateinamen lassen sich beliebig mischen. Falls Print aus einer Shell
heraus gestartet wird, ist darauf zu achten, das sich durch eventuelle
WildCards nicht mehr als zwanzig Dateien in die Kommandozeile
einschleichen.
Optionen benötigen im Gegensatz zu Schaltern ein Argument, daß durch ein
Leerzeichen von der Option getrennt sein MUß. Sollte das nicht der Fall
sein, wird der nachfolgende Wert einfach ignoriert. So setzt zum Beispiel
der Aufruf "Print -p 45 deutsch.doc" die Seitenlänge auf 45 Zeilen pro
Seite und druckt dann diese Datei.
Für den Fall, daß kein Dateiname erkannt wird, schickt Print die
gegebenen Kommandos trotzdem an den Drucker. Der Befehl "Print -M" würde
beispielsweise den 12CPI-Zeichensatz einstellen.
Es ist darauf zu achten, daß der Printer online (empfangsbereit) ist.
Ist dies nicht der Fall, so kehrt Print nicht zurück, bis es die Daten
schreiben konnte.
5 OPTIONEN UND SCHALTER
Mit dem Aufruf "Print h" gibt Print eine Liste der Befehle und Schalter
aus, die es kennt.
6 LISTE DER OPTIONEN
Optionen sind Befehle, die einen Parameter benötigen. Ich habe
versucht, die Anzahl der Optionen möglichst klein zu halten, um nicht bei
jedem Aufruf tonnenweise Zahlen tippen zu müssen. Die Standardwerte
entsprechen meinem Geschmack und meiner Konfiguration. Sollte jemand sie
total abstoßend finden... schreib er sich einen ALIAS!
-f file Lese Drucker-Steuersequenzen aus der Datei "file" (siehe auch
nächsten Abschnitt)
-i Dies ist der indent-Wert, der bestimmt, um wieviel Leerzeichen
jede Zeile eingerückt wird. Der erlaubte Bereich ist 1 -- 30,
der Standardwert beträgt 8 Leerzeichen.
-l Anzahl Zeilen pro Seite. Diese Zahl entspricht nicht voll den
wirklich gedruckten Zeilen pro Seite, da oben und unten etwas
Platz gelassen wird. Standard ist 72, der Bereich geht von
2 -- 100 Zeilen pro Seite.
-t Diese Zahl bestimmt die Anzahl Blanks für jeden gefundenen
Tabulatorensprung. Der Bereich geht von 1--16, Standard ist
3 Leerzeichen pro Tabulator.
-u Zeichensatz nach Druckende. Da Print zum Erreichen des
richtigen Ergebnisses den USA-Zeichensatz des Druckers benutzt,
kann hier der Zeichensatz angegeben werden, der nach Druckende
wieder eingestellt wird. Laut NEC-Handbuch geht der Bereich von
0--14, der Standardwert ist 2 (deutscher Zeichensatz). Diese
Option ist nur notwendig, wenn der USA-Satz nicht voreingestellt
ist.
-o Diese Option ist der Papiersparer schlechthin! Keine leeren Seiten
mehr am Anfang des Listings, nur weil der Druckkopf nicht am
Seitenanfang stand... Die Distanz vom Seitenanfang zur ersten
Druckzeile wird in mm angegeben. Der Bereich geht von 0--300 mm,
der Standardwert beträgt 62mm (dies entspricht genau der
Entfernung von den Gummirollen bis zum Lineal). Ich habe die
Einheit mm gewählt, um Print nicht durch Floating Points
unnötig aufzublähen.
7 DIE DRUCKER-KOMMANDODATEI
Print ermöglicht es, andere Drucker als NEC-kompatible anzusteuern, und
zwar über die "-f Dateiname"- Option. Die Datei mit den Steuersequenzen
ist eine ganz normale Ascii-Datei, die mit einem Editor erstellt werden
kann. Sie besteht aus Zeilen der Form
HexByte1 HexByte2 HexByte3 HexByte4 HexByte5 Kommandowort
Diese Form MUß unbedingt eingehalten werden, da das Einlesen der Werte über
fscanf() erfolgt. Diese Funktion verhält sich seltsamer als der
Bundeskanzler, wenn sie nicht findet, was sie erwartet...
Die fünf Bytes beinhalten die Drucker-Steuersequenz, das Kommandowort dient
Print als Schlüssel, welcher Befehl eingelesen wird (daher ist auch die
Reihenfolge der Kommandodefinitionen in der Datei beliebig).
Es müssen unbedingt fünf Bytes angegeben werden! Beispiel: Angenommen,
die Sequenz zum Setzen der Seitenlänge besteht aus den beiden Bytes $1b und
$43. Um Print dies mitzuteilen, verwendet man die Zeile
1b 43 ff 00 00 lperpage
Die ersten Bytes entsprechen der Escape-Sequenz (Fluchtsequenz laut
Kerninghan und Ritchie, hi hi!), danach folgt das Befehlsendzeichen $ff,
das Print UNBEDINGT benötigt. Laßt ihr es weg, so erhaltet ihr einen
netten Ausdruck von Print's Datensegment. Die beiden folgenden Nullen
dienen nur zum Auffüllen der Zeile, um auf fünf Bytes zu kommen. Nun eine
Liste der Befehlsworte, die Print kennt:
"set8lpi" --- Umschalten auf 8 Zeilen pro Zoll
"underline" --- Unterstreichen für Dateinamen setzen
"quiet" --- Leisedruck einschalten
"tencpi" --- 10 CPI
"twelvecpi" --- 12 CPI
"fiftcpi" --- 15 CPI
"setquality" --- NLQ Modus ein
"setdraft" --- Draft Modus ein
"neglinefeed" --- Rückwärtsdruck ein
"loud" --- Volle Druckgeschwindigkeit ein
"resetprinter" --- Drucker-Reset
"changecharusa" --- Zeichensatz umschalten
"changecharother" --- " "
"set6lpi" --- 6 Zeilen pro Zoll setzen
Zu beachten ist, daß die Befehle nur in Kleinbuchstaben erkannt werden!
Noch ein paar Beispiele und Hinweise: Euer Drucker kann z. B. nicht
rückwärts drucken. Print benutzt für die Befehle, die NICHT über die
Befehldatei gesetzt werden, die NEC-Sequenzen, was manchmal zu seltsamen
Zeichen im Ausdruck führen kann. Um diese Sequenzen also zu entschärfen,
setzt ihr einfach die Zeile
ff 00 00 00 00 neglinefeed
und erhaltet so keine seltsamen Zeichen, da Print als erstes Zeichen das
Befehlsendzeichen $ff liest und dann sofort abbricht. Es ist auf jeden
Fall zu empfehlen, derart "inkompatible" Befehle durch ein $ff zu ersetzen.
Noch ein Hinweis: Manche Befehle benötigen noch ein Argument, wie z. B.
der Befehl "lperpage". Das Argument muß NICHT und (darf auch nicht) in der
Datei angegeben werden, da Print das über die Kommandozeile oder über einen
Standardwert angegebene Argument direkt nach Finden des $ff an den Drucker
schickt. Alles klar? Im Handbuch steht z. B. für Zeilen pro Seite:
1b 43 (n),
wobei (n) die Anzahl Zeilen pro Seite bedeutet. Das (n) muß nicht in die
Datei geschrieben werden.
8 LISTE DER SCHALTER
Schalter benötigen kein Argument und können überall auftauchen. Nun die
Liste der Schalter und ihre Voreinstellung:
Schalter Beschreibung Voreinstellung
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-B Drucken mit 10CPI aus
-M Drucken mit 12CPI ein
-S Drucken mit 15CPI aus
-Q Near Letter Quality ein
-D Draft Modus aus
-N Leisedruck aus
-P Seitennummerierung aus
-V Ausgabe auf Schirm aus
-R Kein Drucker-Reset nach Ende aus
-T Keine Bearbeitung der aus
ankommenden Zeichen
-8 Druck mit 8 LPI aus
-F Dateiname und Datum mit- aus
drucken
8.1 AUFRUF VON DER WORKBENCH
Um Print von der Workbench aufzurufen, genügt ein Doppelklick auf das Icon.
Print öffnet dann ein kleines Fenster, in dem man die wichtigsten Werte per
Maus einstellen kann. Einige wenige Optionen wie z.B. Seitenlänge oder
nationaler Zeichensatz können nicht von diesem Fenster aus eingestellt
werden.
Die Bedienung von Print über dieses Fenster ist eigentlich selbsterklärend.
Klickt einfach ein bißchen auf den Gadgets herum und guckt, was passiert.
Um eine Datei auszudrucken, klickt man einfach auf das "Print File" Gadget.
Daraufhin öffnet sich der Arp-Filerequester, mit dem man die zu druckende
Datei auswählt. Klickt man danach auf "OK", so ändert sich der Text des
"Print File" Gadget in "Please wait", bis der Drucker mit dem Job fertig
ist. In dieser Zeit sollte man keine der anderen Gadgets im Fenster
betätigen, sondern vielleicht eine Runde NetHack einwerfen.
Noch schnell ein paar Besonderheiten: Durch Klick auf das "Have a nap!"
gadget legt Print sich schlafen. Das Fenster wird zu einem Icon, das man
beliebig auf dem Screen herumzerren kann. Um Print wieder nach vorn zu
holen, genügt ein Doppelklick auf das Icon (Die iconify()-Routine ist PD
und von Leo Schwab geschrieben (dem Meister persönlich!)). Jeder kann sie
in seinen Programmen einsetzen.
Man kann das Print-Fenster auch vom CLI aus erreichen, indem man einfach
1> Print
ohne Parameter aufruft.
9 DIE RECHTLICHE SEITE
Print ist (c) HooverSoft 1990. Alle Rechte am Programm verbleiben beim
Autor, Uwe "Hoover" Schürkamp. Das Programm darf nur zu nichtkommerziellen
Zwecken und nur im unveränderten Zoo-Archiv weitergegeben werden. Den
Firmen STEFAN OSSOWSKI und WOLF COMPUTERTECHNIK ist jeglicher Vertrieb von
Print oder von mit Print assoziierten Dateien ausdrücklich UNTERSAGT.
Erlaubt ist ausdrücklich die kostenlose Weitergabe über Mailboxen oder
NewsGroups im UseNet.
Natürlich bin ich nicht verantwortlich für irgendwelche Schäden an Leib,
Seele oder Besitz, die durch Print entstehen. (USUAL DISCLAIMER)
Wer Print nützlich findet, mache bitte eine Spende in beliebiger Höhe an
seine bevorzugte, gemeinnützige Einrichtung (Danke an Art Skiles für die
Idee!) wie z. B. GreenPeace. Bitte denkt dran, daß die Welten, die der
Amiga erzeugt, leider nicht real sind...
10 DANKSAGUNGEN
Mein besonderer Dank gilt Jens "Jensi-Man" Mensching (der ständig mit neuen
Versionen überschwemmt wurde) für zahllose Bug reports (auch wenn es
manchmal keine waren!) sowie Oli Friedrich für die Anregung zum
Programmieren der scan_file()-Routine. Weiterer Dank geht an den
Programmierer von "Preferences", des seltsamsten Programms dieses Planeten,
ohne dessen Mühe dieses Programm nie enstanden wäre :-) sowie an meine
Frau, die in der Zeit des Entwurfs von Print nicht MechForce spielen
konnte...und natürlich Leo Schwab für die iconify()-Routine und den
Programmierern des Amiga Resource Projects (ARP)!
Das Icon für Print malte Bernd Heide, der sich noch nicht sicher ist, ob
seine Arbeiten künftig unter dem Namen "Magic Mouse" erscheinen
sollen...ich finde die Idee nicht schlecht!
11 FEEDBACK
Besonders, was fremde Druckertypen angeht, bin ich auf Berichte von
Print-Usern angewiesen. Ich bin zu erreichen im BitNet unter
hoover@math4.uni-bielefeld.de
hoover@math15.uni-bielefeld.de
oder über Snail
Uwe Schürkamp
Jöllenbecker Weg 4
D-4900 Herford
Germany
Falls ihr also irgendwelche Fehler findet, berichtet mir bitte darüber!
Weiterhin freue ich mich über Verbesserungsvorschläge und Ideen aller Art.
Enjoy & be lucky
hoover
___________________________________________________________________________
|---------------------------------------------------------------------------|
| Weinberg's Law: || //// Only Amiga |
| "If builders built buildings the way || //// makes it |
| programmers write programs, then the || \\\\ //// possible... |
| first woodpecker that came along || \\\X/// hoover@math4. |
| would destroy civilisation." || \XXX/ uni-bielefeld.de |
|---------------------------------------------------------------------------|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""